package cn.b.training.baby_education_training.service;

import cn.b.training.baby_education_training.entity.UserInfo;
import cn.b.training.baby_education_training.service.dto.ResultInfo;
import org.springframework.data.domain.Page;

/**
 * @program: baby_education
 * @description
 * @author: wuying
 * @create: 2022-11-29 10:44
 **/
public interface UserInfoService {
    /**
     * 通过手机号获取用户数据
     * @param phone 手机号
     * @return
     */
    UserInfo getByPhone(String phone);

    /**
     * 根据用户名，获取用户信息
     * @param userName
     * @return
     */
    UserInfo getUser(String userName);

    /**
     * 注册账户
     * @param phone 登录名
     * @param password 密码
     * @return UserAccount 注册完成后的账户
     */
    UserInfo regAccount(String phone, String password, String nickname) throws Exception;

    /**
     * 获取全部账户列表
     * @param page 页码
     * @param size 页长
     * @return Page<UserAccount> 账户分页列表
     */
    Page<UserInfo> getAllAccounts(Integer page, Integer size);

    /**
     * 删除指定账户
     * @param phone 手机号
     * @return Boolean 删除结果，true/false
     */
    Boolean deleteAccount(String phone) throws Exception;


    /**
     * 修改手机号
     */
    int updatePhone(String phone,Long id);

    boolean isStatus(UserInfo user);

    ResultInfo logout(String phone);


    ///**
    // * 修改用户昵称
    // * @param nickname 昵称
    // */
    //int updateNickname(String nickname);

}
